A network service provider may enable customers to access and use various call features. For example, a network service provider, e.g., a Voice over Internet Protocol (VoIP) service provider, may enable customers to access features such as call waiting, call forwarding, three-way calling, etc.
The service provider may store the features that are available for a phone number in a service profile. When a customer accesses the service, the features stored in the service profile may then be applied. Hence, in order to service a customer, the service provider needs to provide a desirable list of features. Unfortunately, developing and introducing features require a tremendous amount of resources. For example, in order to introduce a new feature, the service provider may need to dedicate various resources for identifying a feature that may be appropriate for large-scale deployment, for procuring application and/or feature servers, for developing the application and/or feature, for testing the new feature from both technical and marketing perspectives, and so on. Hence, the features that are available from service providers tend to be basic, inflexible, and seldom modified.